﻿@{ 
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>模块列表</title>
    <link href="~/lib/layui/css/layui.css" rel="stylesheet" />
    <style>
        body {
            padding: 15px;
        }
    </style>
</head>
<body>
    <table id="demo" lay-filter="test"></table>
    <script type="text/html" id="toolbarDemo">
        <div class="layui-btn-container">
            <button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
        </div>
    </script>
    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script src="~/lib/layui/layui.js"></script>
    <script>
        layui.use(['table', 'layer'], function () {
            var $ = layui.jquery;
            var table = layui.table, layer = layui.layer;

            //第一个实例
            var tableIns = table.render({
                elem: '#demo'
                , height: 400
                , url: '/System/GetModule' //数据接口
                , method: 'post'
                , page: true //开启分页
                , toolbar: '#toolbarDemo'
                , cols: [[ //表头
                    { type: 'checkbox', fixed: 'left' }
                    , { field: 'MModuleName', title: '模块名', width: 100 }
                    , { field: 'MControllerName', title: '控制器名名', width: 100 }
                    , { field: 'MActionName', title: '动作方法名', width: 100 }
                    , { fixed: 'right', align: 'center',width: 100, toolbar: '#barDemo' } //这里的toolbar值是模板元素的选择器
                ]]
            });
            table.on('toolbar(test)', function (obj) {
                switch (obj.event) {
                    case 'add':
                        layer.open({
                            type: 2,
                            area: ['500px', '500px'],
                            title: "添加用户",
                            content: '/System/AddModule',
                            end: function () {
                            }
                        });
                        break;
                };
            });
            table.on('tool(test)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
                var data = obj.data; //获得当前行数据
                var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
                var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）
                if (layEvent === 'edit') { //删除
                    layer.open({
                        type: 2,
                        area: ['500px', '500px'],
                        title: "修改模块",
                        content: '/System/UpdateModule/' + data.MId,
                        end: function () {

                        }

                    });
                }
                else if (obj.event === 'del') {
                    layer.confirm('真的删除行么', function (index) {
                        console.log(obj.data.MId)
                        $.post("/System/DelModule", { id: obj.data.MId }, function (res) {
                            if (res.success) {
                                active["reload"].call(null);
                                layer.msg("成功", obj.othis);
                            }
                            else {
                                layer.msg("失败,请重试", obj.othis);

                            }

                        }, "json");
                    });
                }
            });
            active = {
                reload: function () {

                    //执行重载
                    table.reload('testReload', {
                        page: {
                            curr: 1 //重新从第 1 页开始
                        }
                        , where: {
                        }
                    }, 'data');
                }
            };
            $('.demoTable .layui-btn').on('click', function () {
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
        });
    </script>
</body>
</html>